package net.cyndeline.gameMap

import net.cyndeline.scalarlib.entityComponent.miranda.Entity

/**
 * Stores the entities present at a single tile on the map.
 */
class TileContents {

  /* Player/monsters */
  var agent: Option[Entity] = None

  /* Potions, weapons etc. */
  var item: Option[Entity] = None

  /* Traps present on the tile. */
  var trap: Option[Entity] = None

  /* Things that exists on top of floors and walls: grass, water, torches on walls. May affect game play, but isn't an
   * interactive item.
   */
  var decoration: Option[Entity] = None

  /* Floor, wall, chasm. */
  var environment: Option[Entity] = None

  /*
   * 0 = Visible
   * 1 = Visible, but dimmed
   * 20 = Fog of war, but explored
   * 30 = Hidden by fog of war
   */
  var visibility: Int = 0

}
